public class Solution2 {
    boolean isCharOrDigit(char ch){
        if(Character.isLetter(ch)||Character.isDigit(ch)){
            return true;
        }
        return false;
    }
    public boolean isPalindrome(String s) {
        s = s.toLowerCase();
        int l=0;
        int r=s.length()-1;
        while(l<r){
            while(l<r&&!isCharOrDigit(s.charAt(l))){
                l++;
            }
            while(l<r&&!isCharOrDigit(s.charAt(r))){
                r--;
            }
            if(s.charAt(l)==s.charAt(r)){
                l++;
                r--;
            }else{
                return false;
            }
        }
        return true;
    }
}
